1. Field of the Invention
The present invention relates to networks, and more particularly to staging frames in long distance links.
2. Background of the Invention
Storage area networks (“SANs”) are commonly used where plural memory storage devices are made available to various host computing systems. Data in a SAN is typically moved between plural host systems (that include computer systems, servers and others) and storage systems (or storage devices, used interchangeably throughout this specification) through various controllers/adapters.
Host systems typically include several functional components. These components may include a central processing unit (CPU), main memory, input/output (“I/O”) devices, and streaming storage devices (for example, tape drives). In conventional systems, the main memory is coupled to the CPU via a system bus or a local memory bus. The main memory is used to provide the CPU access to data and/or program information that is stored in main memory at execution time. Typically, the main memory is composed of random access memory (RAM) circuits. A computer system with the CPU and main memory is often referred to as a host system.
Host systems often communicate with storage systems via a host bus adapter (“HBA”, may also be referred to as a “controller” and/or “adapter”) using an interface, for example, the “PCI” bus interface. PCI stands for Peripheral Component Interconnect, a local bus standard that was developed by Intel Corporation®. The PCI standard is incorporated herein by reference in its entirety. PCI-Express is another Input/Output (“I/O”) bus standard (incorporated herein by reference in its entirety) that is compatible with existing PCI cards using the PCI bus.
Various other standard interfaces are also used to move data between host systems and storage devices. Fibre channel is one such standard. Fibre channel (incorporated herein by reference in its entirety) is an American National Standard Institute (ANSI) set of standards, which provides a serial transmission protocol for storage and network protocols such as HIPPI, SCSI, IP, ATM and others.
Networks in general and SANs in particular are now expected to operate at high speeds, sometimes at a rate greater than 4 Gigabits per second (“GB”) (for example, 10 GB). Often these systems operate using long links to communicate with each other. The term link as used herein throughout this specification is the actual physical link that connects one device to another. In some instances these links can be 10 kilometer long. The term long link as used herein is not based on any particular length. A long link is a link due to which frames (or data packets) need to be staged before they can be processed by an adapter/controller.
HBAs facilitating data transfer in such high speed environment with long links (for example, 10 Km long) typically use external non-volatile memory devices (for example, random access memory devices) to store frames that are received from the network. The use of external memory devices is expensive and also delays frame processing. This is undesirable in high bandwidth/long link environment.
Although the foregoing problem has been highlighted with respect to SANs, the same problem exists with other types of network that use high bandwidth and long links. For example, an Ethernet network operating over long links can have the same problems where a network adapter has to use external memory (for example, random access memory (“RAM”)) for staging frames.
Based on the foregoing, there is a need for a method and system for efficiently processing frames.